<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <script>
        //1.throw new Error
        //抛出错误一般都是与try catch 同时出现的
        // var a = 5;
        // try {
        //     if (a == 5) {
        //         //   抛出错误
        //         throw new Error("loopTerminates"); //Error要大写
        //     }
        // } catch (e) {
        //     console.log(e);    //打印出Error对象：Error: loopTerminates
        //     console.log(e.message); //打印：loopTerminates
        // }
        // 模板字符串中嵌入变量，需要将变量名写在${}之中。

        //2.throw error
        //抛出错误一般都是与try catch 同时出现的
        // var a = 5;
        // try {
        //     if (a == 5) {
        //         //   抛出错误
        //         throw ("loopTerminates"); //Error要大写
        //     }
        // } catch (e) {
        //     console.log(e);    //打印出Error对象：Error: loopTerminates
        //     console.log(e.message); //打印：loopTerminates
        // }
        // 模板字符串中嵌入变量，需要将变量名写在${}之中。


        function authorize(user, action) {
            try {
                if (user.name=="gu") {
                    throw new Error (
                        // 传统写法为
                        // 'User '
                        // + user.name
                        // + ' is not authorized to do '
                        // + action
                        // + '.'
                        `User ${user.name} is not authorized to do ${action}.`);
                }
            } catch (error) {
                console.log(error.message);
            }

        }
        authorize({ name: "gu" }, "jian")


    </script>
</body>

</html>